The present invention relates to data networks, and more particularly to data network signals, methods and devices that are suitable for multiplexing payload data in a packet switched data network.
In recent years, packet switched data networks have become heavily used and relied upon. The best known of such networks use the known Internet protocol (xe2x80x9cIPxe2x80x9d) as detailed in the Internet Engineering Task Force, Request for Comment (xe2x80x9cRFCxe2x80x9d) 791, the contents of which are hereby incorporated by reference. Numerous protocols based on IP are used to carry a variety of payload data on IP compliant networks. These include the Uniform Datagram Protocol (xe2x80x9cUDPxe2x80x9d) and the Real-Time Protocol (xe2x80x9cRTPxe2x80x9d) as detailed in RFCs 768 and 1889, the contents of which are hereby incorporated by reference.
All of these protocols utilize headers to identify packets and attributes of packets transported across the network. Such headers introduce overhead. For example, common IP telephony techniques as detailed in International Telephony Union (xe2x80x9cITUxe2x80x9d) Recommendation H.323, the contents of which are hereby incorporated by reference, rely on the RTP to transport payload voice data. RTP in turn relies on the UDP and the IP. Each RTP/UDP/IP compliant voice packet typically includes a total of forty (40) bytes of overhead in the header.
By contrast, modern voice compression techniques compress voice payload to lower and lower bit rates. ITU Recommendation G.723.1, the contents of which are hereby incorporated by reference, for example, compresses voice data to 5.3 kbps. This results in voice data that is typically packetized every thirty (30) ms, with each packet having a payload of twenty (20) bytes. Thus, using the RTP may result in payload occupying only one-third of each packet, with the remaining two-thirds of the packet dedicated to protocol overhead. Other packet based protocols similarly often use only ten (10) to twenty (20) bytes of data.
It has been recognized that multiple voice streams are typically exchanged concurrently between two IP telephony gateways. Thus, voice payload for multiple streams may be combined or multiplexed within packets reducing the overhead to payload data ratio for each packet. Proposals based on such multiplexing include K. Tanigawa, T. Hoshi and K. Tsukada: A RTP simple multiplexing transfer method for Internet telephony gateway, IETF draft, work in progress June 1998; J. Rosenberg and H. Schulzrinne: An RTP payload format for user multiplexing, IETF draft, work in progress, Aug. 21, 1998; and Mark Handley (ISI), AVT group meeting minutes for August 1998 meeting.
These proposals suggest stripping existing RTP/UDP/IP headers at network gateways, mapping these to mini-headers included in multiplexed packets, and transferring the multiplexed packets including mini-headers in a single IP packet to a recipient gateway. In advance of transferring multiplexed packets, the relationship between RTP/UDP/IP headers and mini-headers is communicated between gateways, typically using out-of-band signalling. The recipient gateway replaces each received mini-header with an associated full RTP/UDP/IP header and passes the reconstructed RTP packets to computing devices on the far side of the recipient gateway.
These approaches rely on the presence of gateways, such as those defined in ITU Recommendation H.323. Moreover, they typically require modifications to control protocols to exchange mapping information between gateways. However, many IP telephony applications and similar low bit rate applications are end-to-end, and do not rely on gateways.
Accordingly, an improved method of multiplexing data within packets, and a protocol making use of such a method are desirable.
In accordance with the present invention, payload associated with multiple packets is multiplexed into a single multiplexed packet. Each payload portion is identified by a mini-header within the multiplexed packet. Advantageously, mapping information is also be transferred as part of such multiplexed packets which include multiplexed payload data. Preferably, the mapping information is used to form mapping tables within routers at edges of access networks. The mapping tables may be used to establish a relationship between mini-headers and full headers. The mapping tables may be used to multiplex data from packets to form a multiplexed packet at an ingress router, and demultiplex the multiplexed packet at an egress router. Conveniently, neither gateways nor out of band signalling are required.
In accordance with an aspect of the present invention, payload data contained in a plurality of packets to be passed by way of a network node within a packet switched data network, is multiplexed by associating with the payload portion of each packet a mini-header smaller than a header for the packet. A multiplexed packet including each payload portion and an associated mini-header, and further including a mapping token, which establishes a relationship between a mini-header and a header for one of the packets, for which this relationship is not known at the network node is constructed.
In accordance with another aspect of the invention, a mapping table may be formed at a network node within a packet switched network. The mapping table maps mini-headers identifying multiplexed payload data from several packets within a multiplexed packet, to complete headers usable to transport payload on the network. An entry of the mapping table may be formed by receiving a packet including at least one payload data portion from one of the packets; a mini-header associated with the payload data portion; and a mapping token, indicative of a relationship between the mini-header and a complete header for transporting the data portion on the network. The formed entry within the table, includes a portion of the mini-header and information derived from the mapping token, indicative of the a relationship between the mini-header and the complete header.
In accordance with another aspect of the invention, a computer data signal embodied in a carrier wave includes at least one payload data portion from a packet transportable within the packet switched data network. The data signal further includes a mini header associated with the payload data portion; and a mapping token, indicative of a relationship between the mini-header and the complete header for routing the packet on the network.
In accordance with yet a further aspect of the invention, a computing apparatus interconnected with a packet switched data network, includes computer readable memory that stores a mapping table for mapping mini-headers identifying multiplexed payload data from several packets within a multiplexed packet to a complete header usable within the packet switched data network. As well, the computer readable memory stores computer readable instructions, that adapt the apparatus to process multiplexed packets including, payload portions; mini-headers associated with each payload portion, usable in conjunction with the mapping table to construct a packet including the associated payload that may be transported on the packet switched data network; and at least one mapping token, usable by the apparatus to update the mapping table. Preferably the computing apparatus includes a router on the network.
In accordance with another aspect of the invention, a computer readable memory stores computer executable instructions, that may be executed by a computing device interconnected with a packet switched network. The computer readable instructions adapt a computing device to maintain a mapping table for mapping mini-headers identifying multiplexed payload data from several packets within a multiplexed packet to a complete header usable within the network. Moreover, they adapt the computing device to process a multiplexed packet which includes a payload portion, formed from a packet transported on the network; a mapping header associated with the payload portion within the multiplexed packet and usable by the computing device in conjunction with the mapping table to construct a packet including the associated payload that may be transported on the network; and mapping information, usable by the device to update the mapping table.
In accordance with yet another embodiment of the invention, payload data contained in a plurality of packets to be passed by way of a network node in a switched packet network, is multiplexed, by searching a table with information in a header of each packet for a match. If a match for a given packet is not found, information from its header is entered in the table in association with information for a mini-header. A mapping token associating the given header information with the mini-header is also created. The payload portion of the packet is extracted and the header is discarded. The mini-header is associated with the payload portion, and a multiplexed packet including the mapping token is constructed.